import request from '@/utils/request'

// 普通编辑真实删除一条文章
export function api_delByIdReal(idArticle) {
  return request({
    url: 'article/editor/recycle/' + idArticle,
    method: 'delete',
  })
}
// 普通编辑批量逻辑删除文章
export function api_batchDel(articleIds) {
  return request({
    url: 'article/batch',
    method: 'delete',
    params: {
      ArticleIds: articleIds,
    },
  })
}
// 普通编辑真实批量删除文章
export function api_batchDelReal(articleIds) {
  return request({
    url: 'article/editor/recycle/batch',
    method: 'delete',
    params: {
      ArticleIds: articleIds,
    },
  })
}
/** 处理 "/api/article/49" 的 PATCH 请求，修改id为49的文章状态
  设置文章状态（流程2：草稿 <-> 签发）
  action = "draft"，不需 idAdmin
  撤销提交审核 / 从回收站恢复文章
  action = "uncheck"，不需 idAdmin
  草稿提交审核 / 已签发文章设为待审
  action = "signed"，idAdmin 是签发管理员的id
  签发编辑将待审文章直接设为签发
*/
export function api_patchStatus(paramsJson) {
  return request({
    url: 'article/' + paramsJson.ArticleId,
    method: 'patch',
    params: {
      AdminId: paramsJson.AdminId,
      Action: paramsJson.Action,
    },
  })
}
/** 从回收站恢复文章 */
export function api_unDel(idArticle) {
  return request({
    url: 'article/editor/recycle/' + idArticle,
    method: 'patch',
  })
}
/* 处理 "/api/article/batch" 的 PATCH 请求，批量设置文章状态
  设置文章状态（流程2：草稿 <-> 签发）
  action = "draft"，不需 idAdmin
  批量撤销提交审核 / 从回收站恢复文章
  action = "uncheck"，不需 idAdmin
  批量将草稿提交审核 / 批量将已签发文章设为待审
  action = "signed"，idAdmin 是签发管理员的id
  签发编辑批量将待审文章直接设为签发
*/
export function api_batchPatchStatus(paramsJson) {
  return request({
    url: 'article/batch',
    method: 'patch',
    params: {
      AdminId: paramsJson.AdminId,
      ArticleIds: paramsJson.ArticleIds,
      Action: paramsJson.Action,
    },
  })
}
/* 处理 "/api/article/move" 的 PATCH 请求，批量移动文章 */
export function api_batchMove(paramsJson) {
  return request({
    url: 'article/move',
    method: 'patch',
    params: {
      CategoryId: paramsJson.CategoryId,
      ArticleIds: paramsJson.ArticleIds,
    },
  })
}
// ========== 普通编辑 ==========

// 普通编辑得到自己添加的所有文章分页列表数据
// status 是 draft、delete、uncheck、signed
export function api_listPageEditor(paramsJson) {
  return request({
    url: 'article/editor/list-page',
    method: 'get',
    params: {
      PageCurrent: paramsJson.PageCurrent,
      PageSize: paramsJson.PageSize,
      Status: paramsJson.Status,
      CategoryId: paramsJson.CategoryId,
      EditorId: paramsJson.EditorId,
    },
  })
}
// 普通编辑得到自己回收站所有文章分页列表数据
export function api_recycleEditor(paramsJson) {
  return request({
    url: 'article/editor/recycle',
    method: 'get',
    params: {
      PageCurrent: paramsJson.PageCurrent,
      PageSize: paramsJson.PageSize,
      CategoryId: paramsJson.CategoryId,
      EditorId: paramsJson.EditorId,
    },
  })
}
// 普通编辑根据标题关键字词搜索所有文章分页列表数据
export function api_searchEditor(paramsJson) {
  return request({
    url: 'article/editor/search',
    method: 'get',
    params: {
      PageCurrent: paramsJson.PageCurrent,
      PageSize: paramsJson.PageSize,
      Keyword: paramsJson.Keyword,
      EditorId: paramsJson.EditorId,
    },
  })
}

// ========== 审核、签发编辑、超管 ==========

// 审核、签发编辑、超管得到所有待审文章分页列表数据
export function api_listPageChecker(paramsJson) {
  return request({
    url: 'article/checker/list-page',
    method: 'get',
    params: {
      PageCurrent: paramsJson.PageCurrent,
      PageSize: paramsJson.PageSize,
      Status: paramsJson.Status,
      CategoryId: paramsJson.CategoryId,
    },
  })
}
// 审核、签发编辑、超管根据标题关键字词搜索所有文章分页列表数据
export function api_searchChecker(paramsJson) {
  return request({
    url: 'article/checker/search',
    method: 'get',
    params: {
      PageCurrent: paramsJson.PageCurrent,
      PageSize: paramsJson.PageSize,
      Keyword: paramsJson.Keyword,
    },
  })
}
